A conventional unit of this kind is such, for example, as shown in FIG. 2. In FIG. 2, reference numeral 1 indicates a tracer head, 2 a stylus, 3 a model, 4 a composite displacement signal generator, 5 an adder, 6 a multiplier, 7 a voltage-to-frequency converter, 8X, 8Y, and 8Z X-, Y- and Z-axis error registers, 9X, 9Y, and 9Z X-, Y- and Z-axis amplifiers, 10X, 10Y, and 10Z X-, Y- and Z-axis motors for moving the tracer head 1 and the model 3 relative to each other in the X-, Y- and Z-axis directions, 11X, 11Y, and 11Z X-, Y- and Z-axis position sensors, 12 a microprocessor, 13 a command tape, 14 a tape reader, 15 a RAM, 16 a ROM, 17 an output section, 18 a linear interpolator, 19 a circular interpolator, 20 an override value setting register, 21 and 22 multipliers, and 23 and 24 OR gates.
The tracer head 1 outputs X-, Y- and Z-axis displacement signals .epsilon..sub.x, .epsilon..sub.y and .epsilon..sub.z which correspond to displacement of the stylus 2 in the X, Y and Z directions which moves in contact with the model 3. The composite displacement signal generator 4 derives a composite displacement signal, ##EQU1## from the displacement signals .epsilon..sub.x, .epsilon..sub.y and .epsilon..sub.z available from the tracer head 1. The adder 5 obtains the difference, .DELTA..epsilon.=.epsilon.-.epsilon..sub.0, between the composite displacement signal .epsilon. and a reference displacement signal .epsilon..sub.0 and applies it to the multiplier 6 and the override value setting register 20. The multiplier 6 multiplies the above-mentioned difference .DELTA..epsilon. by a predetermined constant K and supplies the voltage-to-frequency converter 7 with a voltage corresponding to the result of the multiplication. The voltage-to-frequency converter 7 provides to the error register 8Z pulses of a frequency proportional to the output voltage of the multiplier 6. The error register 8Z applies to the amplifier 9Z a voltage proportional to the difference between the number of pulses from the voltage-to-frequency converter 7 and the number of feedback pulses from the position sensor 11Z. The output of the amplifier 9Z is provided to the motor 10Z to drive it, moving the tracer head 1 and the model 3 relative to each other in the Z direction. That is, the relative movement of the tracer head 1 and the model 3 in the Z direction is controlled in accordance with the displacement signals .epsilon..sub.x, .epsilon..sub.y and .epsilon..sub.z which are provided from the tracer head 1.
The relative movement of the tracer head 1 and the model 3 in the X and Y directions is controlled on the basis of numerical information recorded on the command tape 13. For instance, in the case of moving the tracer head 1 from a point A to a point B directly in FIG. 3(A), numerical information of a format (A) shown below is prerecorded on the command tape 13, and in the case of moving the tracer head 1 from a point C to a point D along a circular arc with the center at a point E in FIG. 3(B), numerical information of a format (B) shown below is prerecorded on the command tape 13. EQU GO1 X x1Y y1F f1 (A) EQU GO2 X x2Y y2I i1K k1F f2 (B)
In the above, x1 and y1 indicate the X and Y coordinates of the point B, x2 and y2 the X and Y coordinates of the point D, f1 and f2 specified feed rates, i1 the distance between the center E of the circular arc and the point C in the X direction, and k1 the distance between the center E of the circular arc and the point C in the Y direction.
When the tape reader 14 reads the numerical information of the format (A) recorded on the command tape 13, the microprocessor 12 provides via the output section 17 the X and y coordinates x1 and y1 of the point B to the linear interpolator 18 and the specified feed rate f1 to the multiplier 21. The multiplier 21 performs a multiplication of the specified feed rate f1 from the microprocessor 12 and an override value from the override value setting register 20 and supplies the linear interpolator 18 with the multiplied output as a signal indicating the velocity of movement of the tracer head 1 in the X-Y plane. The override value setting register 20 is outputs an override value which is inversely proportional to the difference .DELTA..epsilon. between the composite displacement .epsilon. and the reference displacement .epsilon..sub.0 which is available from the adder 5. That is, since the above difference .DELTA..epsilon. increases with an increase in the inclination of the surface of the model 3, the velocity of movement which is commanded to the linear interpolator 18 decreases with an increase in the inclination of the surface of the model 3.
Based upon the coordinate values (x1, y1) of the point B supplied from the microprocessor 12 and the velocity command from the multiplier 21, the linear interpolator 18 produces command pulses for the movement of the tracer head in the X and Y directions and provides the X-direction command pulses via the OR gate 23 to the error register 8X and the Y-direction command pulses via the OR gate 24 to the error register 8Y. As a result of this, the motors 10X and 10Y are driven, by which the tracer head 1 travels along a path A-B at a speed corresponding to the output of the multiplier 21.
Where the numerical information of the format (B) recorded on the command tape 13 is read by the tape reader 14, the microprocessor 12 applies numerical information x2, y2, i1 and k1 to the circular interpolator 19 and the specified feed rate f2 to the multiplier 22. The multipliwer 22 multiplies the specified feed rate f2 from the microprocessor 12 and the override value from the override value setting register 20, and supplies the circular interpolator 19 with the multiplied output as a signal indicating the velocity of movement of the tracer head 1 in the X-Y plane. Based on the numerical information x2, y2, i1 and k1 from the microprocessor 12 and the velocity command from the multiplier 22, the circular interpolator 19 creates command pulses for the movement of the tracer head in the X and Y directions and provides the X-direction command pulses to the error register 8X via the OR gate 23 and the Y-direction command pulses to the error register 8Y via the OR gate 24. As a result of this, the motors 10X and 10Y are driven, by which the tracer head 1 travels along the circular arc with the center at the point E, at a speed corresponding to the output of the multipler 22.
As described above, the conventional unit depicted in FIG. 2 achieves the arbitrary-direction tracing by moving the tracer head 1 and the model relative to each other in the X and Y directions in accordance with numerical information and in the Z direction in accordance with the displacement signals available from the tracer head 1. In this case, however, since the tracing is one-dimensional, a follow-up error occurs on a steep surface portion of the model 3, making it impossible to achieve high accuracy machining.